<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script src="index.js"></script>
<script>
    // console.log(Promise)

    // Promise 情况1:
    // var P = new Promise((resolve,reject)=>{
    //     setTimeout(()=>{
    //     resolve('this is a msg!')
    // },1000)
    // })
    //
    // P.then(data=>{
    //     console.log('1:'+data)
    // }).then(data=>{
    //     console.log('2:'+data)
    // })
    //
    // result 情况
    // 1:this is a msg!
    // 2:undefined

    // 情况2
    // var P = new Promise((resolve,reject)=>{
    //     setTimeout(()=>{
    //     reject('this is a msg!')
    // },1000)
    // })
    //
    // P.catch(data=>{
    //     console.log('1:'+data)
    // }).catch(data=>{
    //     console.log('2:'+data)
    // })
    // result
    // 只会出现第一个 catch 的结果
    // 1:this is a msg!


    // 情况3
    // var P = new Promise((resolve,reject)=>{
    //     setTimeout(()=>{
    //     reject('this is a msg!')
    // },1000)
    // })
    //
    // P.catch(data=>{
    //     console.log('1:'+data)
    // }).then(data=>{
    //     console.log('2:'+data)
    // })
    // result
    // 1:this is a msg!
    // 2:undefined

    // 情况 4
    // var P = new Promise((resolve,reject)=>{
    //     setTimeout(()=>{
    //     resolve('this is a msg!')
    // },1000)
    // })
    //
    // P.then(data=>{
    //     console.log('1:'+data)
    // }).catch(data=>{
    //     console.log('2:'+data)
    // }).then(data=>{
    //     console.log('3:'+data)
    // })
    // result:
    // 1:this is a msg!
    // 3:undefined



    // 情况5:
    // var P = new Promise((resolve,reject)=>{
    //     setTimeout(()=>{
    //     reject('this is a msg!')
    // },1000)
    // })
    //
    // P.then(data=>{
    //     console.log('1:'+data)
    // }).catch(data=>{
    //     console.log('2:'+data)
    // }).then(data=>{
    //     console.log('3:'+data)
    // })
    // 2:this is a msg!
    // 3:undefined



    //
    // var promise1 = Promise.resolve(3);
    // var promise2 = 42;
    // var promise3 = new Promise(function (resolve, reject) {
    //     setTimeout(resolve, 2000, 'foo');
    // });
    // var promise4 = new Promise(function (resolve, reject) {
    //     setTimeout(resolve, 1000, 'foo2');
    // });
    // Promise.all([promise1, promise2, promise3, promise4]).then(function (values) {
    //     console.log('run finished:',values);
    // }).catch(function (val) {
    //     console.log(val)
    // })

    // var P = new Promise(function (resolve, reject) {
    //     setTimeout(function () {
    //         var num = Math.random()
    //         console.log(num)
    //         resolve('传递信息')
    //         // if (num < .5) {
    //         //     resolve('成功的信息')
    //         // } else {
    //         //     reject('失败的信息')
    //         // }
    //     }, 1000)
    // })
    //
    // P.then(function (value) {
    //     console.log('1:', value)
    // }).catch(function (reason) {
    //     console.log('2:', reason)
    // }).then(function (value) {
    //     console.log('3:', value)
    // })
    // console.log(P)
</script>
</html>